An e-Form is an electronic form that typically mimics a paper form. It is often much more convenient to fill out an e-form than a paper form. As a result, the e-form is used more and more widely in different industries, such as banking, insurance, etc. Generally, when an end user fills out an e-Form on a client machine and submits the e-form to an e-Form server, the contents of the submitted e-Form need to be parsed by the e-Form server in order to construct an input for any back-end business services or applications. It can become a heavy workload for the e-Form server to parse a multitude of e-Forms or an e-Form with a large amount of e-Form content.
Usually, the e-Form server directly parses the entire content of a submitted e-Form at runtime. This parsing method is efficient for relatively small e-Forms. However, the e-Forms used in some industries are relatively large and fairly complex. In some cases, there are many e-Forms submitted in parallel, causing a heavy load to be placed on the e-Form server. The above-mentioned parsing method may cause the e-Form server to consume undue time and processing resources to parse the contents of an e-Form. This, in turn, may overwhelm the server causing a drop in performance. In some cases, the strain on the server may cause it to fail.
By way of example, the Association for Cooperative Operations Research and Development (ACORD) PCS XFDL e-Form is a standard e-Form for the insurance industry. The ACORD XFDL e-Form is submitted to a WebForm server. When the end user requests an ACORD XFDL e-Form, the WebForm server translates the e-Form into a DHTML file so that the end user can fill it out using a standard web browser. An example of a standard web browser would be Mozilla's Firefox or Microsoft's Internet Explorer. More specifically, the end user requests an e-Form through a web browser. The WebForm server then responds to the request by retrieving the requested XFDL e-Form, translating it into a DHTML file and presenting the DHTML file on the web browser for the end user.